<<<<<<< HEAD
#include <iostream>

class Task
{
public:
    Task(){}

    // 构造函数
    Task(int x, int y, char op)
        : _x(x),
          _y(y),
          _op(op),
          _result(0),
          _exitCode(0)
    {
    }

    // 析构函数
    ~Task() {}

    // 仿函数
    void operator()()
    {
        switch (_op)
        {
        case '+':
            _result = _x + _y;
            break;
        case '-':
            _result = _x - _y;
            break;
        case '*':
            _result = _x * _y;
            break;
        case '/':
        {
            if(_y==0)
                _exitCode=-1;//除数为0
            else
                _result = _x / _y;
        }
        break;
        case '%':
        {
            if(_y==0)
                _exitCode=-2;//取余数为0
            else
                _result = _x % _y;
        }
        break;
        default:
            break;
        }
    }

    //获取运算问题
    std::string formatArg()
    {
        return std::to_string(_x)+_op+std::to_string(_y)+" = ";
    }
    
    //获取结果和退出码
    std::string formatRes()
    {
        return std::to_string(_result)+" ("+std::to_string(_exitCode)+") ";
    }

private:
    int _x;   // 运算数1
    int _y;   // 运算数2
    char _op; // 运算方法

    int _result;   // 运算结果
    int _exitCode; // 退出码
=======
#include <iostream>

class Task
{
public:
    Task(){}

    // 构造函数
    Task(int x, int y, char op)
        : _x(x),
          _y(y),
          _op(op),
          _result(0),
          _exitCode(0)
    {
    }

    // 析构函数
    ~Task() {}

    // 仿函数
    void operator()()
    {
        switch (_op)
        {
        case '+':
            _result = _x + _y;
            break;
        case '-':
            _result = _x - _y;
            break;
        case '*':
            _result = _x * _y;
            break;
        case '/':
        {
            if(_y==0)
                _exitCode=-1;//除数为0
            else
                _result = _x / _y;
        }
        break;
        case '%':
        {
            if(_y==0)
                _exitCode=-2;//取余数为0
            else
                _result = _x % _y;
        }
        break;
        default:
            break;
        }
    }

    //获取运算问题
    std::string formatArg()
    {
        return std::to_string(_x)+_op+std::to_string(_y)+" = ";
    }
    
    //获取结果和退出码
    std::string formatRes()
    {
        return std::to_string(_result)+" ("+std::to_string(_exitCode)+") ";
    }

private:
    int _x;   // 运算数1
    int _y;   // 运算数2
    char _op; // 运算方法

    int _result;   // 运算结果
    int _exitCode; // 退出码
>>>>>>> a74f3c4303bf4e06b09badb4ebfb09c0012b35b0
};